package com.coderman.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.CorsRegistration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * The type WebConfig.
 *
 * @Author xieyongfeng
 * @Date 2023 /4/9 18:21
 */
@Configuration
public class WebConfig implements WebMvcConfigurer {

    // 拦截器跨域配置
//    @Override
//    public void addCorsMappings(CorsRegistry registry) {
//        // 跨域路径
//        CorsRegistration cors = registry.addMapping("/**");
//
//        // 可访问的外部域
//        cors.allowedOrigins("*");
//        // 支持跨域用户凭证
//        //cors.allowCredentials(true);
//        //cors.allowedOriginPatterns("*");
//        // 设置 header 能携带的信息
//        cors.allowedHeaders("*");
//        // 支持跨域的请求方法
//        cors.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS");
//        // 设置跨域过期时间，单位为秒
//        cors.maxAge(3600);
//    }
//
//
//    // 过滤器跨域配置
//    @Bean
//    public CorsFilter corsFilter() {
//        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
//
//        CorsConfiguration config = new CorsConfiguration();
//
//        // 允许跨域的头部信息
//        config.addAllowedHeader("*");
//        // 允许跨域的方法
//        config.addAllowedMethod("*");
//        // 可访问的外部域
//        config.addAllowedOrigin("*");
//        // 需要跨域用户凭证（cookie、HTTP认证及客户端SSL证明等）
//        //config.setAllowCredentials(true);
//        //config.addAllowedOriginPattern("*");
//
//        // 跨域路径配置
//        source.registerCorsConfiguration("/**", config);
//        return new CorsFilter(source);
//    }




}
